{
  "swagger": "2.0",
  "info": {
    "title": "Resource Model API",
    "version": "",
    "description": "Resource model is a [resource manifestation](http://www.w3.org/TR/di-gloss/#def-resource-manifestation). One particular representation of your resource.\n\nFurthermore, in API Blueprint, any `resource model` you have defined can be referenced in a request or response section, saving you lots of time maintaining your API blueprint. You simply define a resource model as any payload (e. g. [request](https://github.com/apiaryio/api-blueprint/blob/master/examples/06.%20Requests.md) or [response](https://github.com/apiaryio/api-blueprint/blob/master/examples/5.%20Responses.md)) and then reference it later where you would normally write a `request` or `response`.\n\n## API Blueprint\n\n+ [Previous: Data Structures](10.%20Data%20Structures.md)\n\n+ [This: Raw API Blueprint](https://raw.github.com/apiaryio/api-blueprint/master/examples/11.%20Resource%20Model.md)\n\n+ [Next: Advanced Action](12.%20Advanced%20Action.md)"
  },
  "paths": {
    "/message": {
      "get": {
        "responses": {
          "200": {
            "description": "This is the `application/vnd.siren+json` message resource representation.",
            "headers": {
              "Location": {
                "type": "string"
              }
            },
            "examples": {
              "application/vnd.siren+json": {
                "class": [
                  "message"
                ],
                "properties": {
                  "message": "Hello World!"
                },
                "links": [
                  {
                    "rel": "self",
                    "href": "/message"
                  }
                ]
              }
            },
            "schema": {
              "$ref": "#/definitions/My MessageModel"
            }
          }
        },
        "summary": "Retrieve a Message",
        "operationId": "Retrieve a Message",
        "description": "At this point we will utilize our `Message` resource model and reference it in `Response 200`.",
        "tags": [
          "Messages"
        ],
        "parameters": [],
        "produces": [
          "application/vnd.siren+json"
        ],
        "consumes": []
      },
      "put": {
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {},
            "examples": {}
          }
        },
        "summary": "Update a Message",
        "operationId": "Update a Message",
        "description": "",
        "tags": [
          "Messages"
        ],
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "example": {
                "message": "All your base are belong to us."
              }
            }
          }
        ],
        "consumes": [
          "text/plain",
          "application/json"
        ]
      }
    }
  },
  "definitions": {
    "My Message": {},
    "My MessageModel": {
      "type": "object",
      "properties": {
        "class": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "properties": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string"
            }
          }
        },
        "links": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "rel": {
                "type": "string"
              },
              "href": {
                "type": "string"
              }
            }
          }
        }
      },
      "example": {
        "class": [
          "message"
        ],
        "properties": {
          "message": "Hello World!"
        },
        "links": [
          {
            "rel": "self",
            "href": "/message"
          }
        ]
      }
    }
  },
  "securityDefinitions": {},
  "tags": [
    {
      "name": "Messages",
      "description": "Group of all messages-related resources."
    }
  ]
}